package com.atguigu.gulimall.gulimallproduct;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * 1、整合mybatis-plus
 *      1 ）导入依赖，已经在gulimall-common中导入
 *        <dependency>
 *             <groupId>com.baomidou</groupId>
 *             <artifactId>mybatis-plus-boot-starter</artifactId>
 *             <version>3.4.0</version>
 *         </dependency>
 *      2）、配置
 *          1、配置数据源
 *              1）、导入数据库驱动
 *                  <dependency>
 *                       <groupId>mysql</groupId>
 *                       <artifactId>mysql-connector-java</artifactId>
 *                         <version>8.0.20</version>
 *                   </dependency>
 *               2）、配置数据源
 *          2、配置mybatis-plus
 *              1)、使用@MapperScan 扫描Mapper接口
 *              2)告诉mybatis-plus sql映射文件位置
 *  2、逻辑删除
 *      1、配置全局的逻辑删除规则
 *           logic-delete-value：1 删除用1表示
 *           logic-not-delete-value: 0 未删除用0表示
 *      2、配置逻辑删除组件bean（3.2版本后不需要配置了）
 *      3、给Bean上加上逻辑删除注解@TableLogic
 *
 *
 *    ----------------------------------------------------------------------------------------
 *  2、服务注册到nacos(注册中心)
 *      1、导入nacos discovery starter(在gulimall-common中已经导入，所以可忽略)
 *      2、配置Nacos Server地址
 *          1）、 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 *          2）、配置应用名   application.name=gulimall-coupon
 *      3、使用@EnableDiscoveryClient注解开启服务注册与发现功能
 *
 *    ----------------------------------------------------------------------------------------
 *    3、使用阿里云OSS存储三步走
 *      1）、引入starter  spring-cloud-starter-alicloud-oss
 *      2）、yml配置key,endpoint相关信息即可
 *      3）、使用OSSClient进行相关操作
 */
@EnableDiscoveryClient
@SpringBootApplication
@MapperScan("com.atguigu.gulimall.gulimallproduct.dao")
public class GulimallProductApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulimallProductApplication.class, args);
    }

}
